今天百度搜索“Android反编译”搜索出来的结果大多数都是比较传统的教程。刚接触反编译的时候,我也是从这些教程慢慢学起的。在后来的学习过程中,我接触到比较方便操作的Android反编译。在这,我将使用的过程写下来,贡献给有需的朋友,为国内Android的事业作出一点点贡献。
首先
我们先看一Android界有名的大神写关于Android反编译的博客:
(郭大侠)http://blog.csdn.net/guolin_blog/article/details/49738023
(鸿洋大神)http://blog.csdn.net/lmj623565791/article/details/23564065
(主席大神)http://blog.csdn.net/singwhatiwanna/article/details/18797493
…
我推荐大家使用的Android反编译的软件是Android Killer。(这启动界面Cool爆了)
其实这个软件就是对以上博客提到的操作进行一系列的封装。打开这个软件你就可以发现这些熟悉的反编译工具。
接着
打开待反编译的apk。(在这示范反编译美柚)
软件清晰地展示了美柚的信息。(是反编译的不错选择)
切换到工程管理器,可以查看反编译的资源和smail代码等。
接下来
查看smali代码,找到你需要查看的文件,点击下图的这个图标
看到熟悉的界面了吧。。。
——————————–接下来我们修改apk,然后重新打包–不要干坏事—————————–
下面演示修改一个apk的名称
切换到工程搜索,输入app_name,点击下面搜索到的内容,修改为美柚a。
接下来,编译打包。
切换到Android,点击编译。菜单栏还有好多关于Android功能。
从日志输出的信息可以看到,已经编译打包好了。
最后,我们安装编译好的apk。
这软件还有好多功能,在这不一一列出了,有兴趣的朋友自己慢慢摸索。
在些,我不是在为这个软件做广告,只是推荐大家使用。
最后,软件的下载链接:http://pan.baidu.com/s/1o7lfgfg。
也可以自己百度下载。
2016/7/16 更新
现在的App越来越大,一般都会有多个Dex文件。在使用Android Killer的查看源码过程中,你可能会遇到在samail_class2、sameil_class3目录下点击反编译源码时报未找到对应的源码这种情况,如下图。
以上这个问题,我已经发邮件给软件的制作者,但是还没有得到回应。这个问题是软件没有将其他的classX.dex转成对应classesX-dex2jar,所以找不相对应的源码。
为了可以查看完整的源代码,这里手动将其他的classX的转化对应classes2-dex2jar并放置到Android Killer对应的目录。
- 利用解压软件将apk里面除了classes.dex的其他claseesX.dex提取出来,将放到Android Killer的bin/dex2jar的目录下,如下图。
- 在bin/dex2jar目录下打开命令行,执行
d2j-dex2jar.bat classesX.dex
(classesX.dex中X对应你的dex名称)
- 最后,将生成的包复制到Android Killerr的projects/你反编译的apk名/ProjectSrc目录下,如下图。